Ansible : Use Playbook#3
2015/04/22 |
To use "when", "failed_when", it's possible to write branch condition in Ansible Playbook.
|
|
[1] | For example, create a Playbook which only if it does not exist "/var/www/html/index.html", create it on target hosts. |
[cent@dlp ~]$
vi playbook_sample.yml # set boolean with failed_when # create "index.html" if result of boolean is "1" - hosts: target_servers become: yes become_method: sudo tasks: - name: index file exists or not shell: test -f /var/www/html/index.html ignore_errors: true register: file_exists failed_when: file_exists.rc not in [0, 1] - name: put index.html shell: echo "httpd index" > /var/www/html/index.html when: file_exists.rc == 1 ansible-playbook playbook_sample.yml --ask-become-pass SUDO password: PLAY [target_servers] ********************************************************* GATHERING FACTS *************************************************************** ok: [10.0.0.52] ok: [10.0.0.51] TASK: [index file exists or not] ********************************************** changed: [10.0.0.52] changed: [10.0.0.51] TASK: [put index.html] ******************************************************** skipping: [10.0.0.52] changed: [10.0.0.51] PLAY RECAP ******************************************************************** 10.0.0.51 : ok=3 changed=2 unreachable=0 failed=0 10.0.0.52 : ok=2 changed=1 unreachable=0 failed=0 |